
public class Singleton {

	// o singura instanta per toata clasa
	private static Singleton instance = null;
	
	/**
	 * Constructor privat, impiedica accesul la crearea obiectelor
	 * Singleton din afara clasei.
	 */
	private Singleton () {
		
	}
	
	/**
	 * Metoda intoarce singura instanta Singleton disponibila.
	 * Daca intern, instanta nu exista, e creata (o singura data!).
	 * 
	 * Scopul metodei e sa intoarca singura instanta Singleton existenta
	 * => nu are legatura cu un obiect Singleton (de vreme ce intoarcem singurul
	 * Singleton existent) => static
	 * 
	 * @return singura instanta Singleton existenta
	 */
	public static Singleton getInstance() {
		if (instance == null)
			instance = new Singleton ();
		
		return instance;
	}
}
